home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
PROGRAM
/
BEGINCPP.ARJ
/
#5_VER2.C
< prev
next >
Wrap
C/C++ Source or Header
|
1990-08-05
|
9KB
|
291 lines
#line 1 "#5_VER2.cxx"
void *_new(long);
void _delete(void*);
void *_vec_new(void*,int,int,void*(*)(void*));
void _vec_delete(void*,int,int,void(*)(void*,int),...);
void exit(int);
static void cdecl _STI();
static void cdecl _STD();
typedef unsigned int size_t ;
typedef char *va_list ;
struct _iobuf {
char *__iobuf__ptr ;
int __iobuf__cnt ;
char *__iobuf__base ;
char __iobuf__flag ;
char __iobuf__file ;} ;
extern struct _iobuf _iob [];
int _filbuf (struct _iobuf *);
int _flsbuf (int , struct _iobuf *);
void clearerr (struct _iobuf *);
int fclose (struct _iobuf *);
int fcloseall (void );
struct _iobuf *fdopen (int , char *);
int fflush (struct _iobuf *);
int fgetc (struct _iobuf *);
int fgetchar (void );
int fgetpos (struct _iobuf *, long *);
char *fgets (char *, int , struct _iobuf *);
int flushall (void );
struct _iobuf *fopen (char *, char *);
int fprintf (struct _iobuf *, char *, ... );
int fputc (int , struct _iobuf *);
int fputchar (int );
int fputs (char *, struct _iobuf *);
size_t fread (void *, size_t , size_t , struct _iobuf *);
struct _iobuf *freopen (char *, char *, struct _iobuf *);
int fscanf (struct _iobuf *, char *, ... );
int fsetpos (struct _iobuf *, long *);
int fseek (struct _iobuf *, long , int );
long ftell (struct _iobuf *);
size_t fwrite (void *, size_t , size_t , struct _iobuf *);
char *gets (char *);
int getw (struct _iobuf *);
void perror (char *);
int printf (char *, ... );
int puts (char *);
int putw (int , struct _iobuf *);
int remove (char *);
int rename (char *, char *);
void rewind (struct _iobuf *);
int rmtmp (void );
int scanf (char *, ... );
void setbuf (struct _iobuf *, char *);
int setvbuf (struct _iobuf *, char *, int , size_t );
int sprintf (char *, char *, ... );
int sscanf (char *, char *, ... );
char *tempnam (char *, char *);
struct _iobuf *tmpfile (void );
char *tmpnam (char *);
int ungetc (int , struct _iobuf *);
int unlink (char *);
int vfprintf (struct _iobuf *, char *, va_list );
int vprintf (char *, va_list );
int vsprintf (char *, char *, va_list );
struct animal {
int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _animal_identify (struct animal* );
static int (pascal *animal__vtbl_PN[])() = {
(int(pascal *)()) _animal_identify ,
(int(pascal *)()) 0
};
struct mammal {
int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _mammal_identify (struct mammal* );
static int (pascal *mammal__vtbl_PN[])() = {
(int(pascal *)()) _mammal_identify ,
(int(pascal *)()) 0
};
struct bird {
int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _bird_identify (struct bird* );
static int (pascal *bird__vtbl_PN[])() = {
(int(pascal *)()) _bird_identify ,
(int(pascal *)()) 0
};
struct dog {
int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _dog_identify (struct dog* );
static int (pascal *dog__vtbl_PN[])() = {
(int(pascal *)()) _dog_identify ,
(int(pascal *)()) 0
};
struct eagle {
int (pascal **_animal__vptr_PN )(void );
} ;
static void pascal _eagle_identify (struct eagle* );
static int (pascal *eagle__vtbl_PN[])() = {
(int(pascal *)()) _eagle_identify ,
(int(pascal *)()) 0
};
void print1 (void );
void print2 (void );
void print3 (void );
int main ()
{
{
print1 ( ) ;
print2 ( ) ;
print3 ( ) ;
}
exit ( 0 );
}
extern void print1 ()
{
struct animal *_au1_ap = 0 ;
struct mammal *_au1_mp = 0 ;
struct bird *_au1_bp = 0 ;
struct dog *_au1_dp = 0 ;
struct eagle *_au1_ep = 0 ;
register struct mammal *_au0__Xthis__ctor_mammal = 0 ;
register struct bird *_au0__Xthis__ctor_bird = 0 ;
register struct dog *_au0__Xthis__ctor_dog = 0 ;
register struct eagle *_au0__Xthis__ctor_eagle = 0 ;
register struct animal *_au0__Xthis__ctor_animal = 0 ;
_au1_ap = (struct animal *)( (_au0__Xthis__ctor_animal = 0 ),
( ( (_au0__Xthis__ctor_animal = (struct animal *)_new (
(long )(sizeof (struct animal))) ), 0 ) ,
( (_au0__Xthis__ctor_animal -> _animal__vptr_PN
= animal__vtbl_PN), ((_au0__Xthis__ctor_animal ))) ) ) ;
(*(((void (pascal *)())(*_au1_ap -> _animal__vptr_PN ))))( _au1_ap ) ;
_au1_mp = (struct mammal *)( (_au0__Xthis__ctor_mammal = 0 ),
( ( (_au0__Xthis__ctor_mammal = (struct mammal *)_new (
(long )(sizeof (struct mammal))) ), 0 ) ,
( ( (_au0__Xthis__ctor_mammal
= (struct mammal *)( ( ((((struct animal *)
_au0__Xthis__ctor_mammal ))-> _animal__vptr_PN
= animal__vtbl_PN),
(((((struct animal *)_au0__Xthis__ctor_mammal ))))) ) ),
(_au0__Xthis__ctor_mammal -> _animal__vptr_PN
= mammal__vtbl_PN)) , ((_au0__Xthis__ctor_mammal ))) ) ) ;
(*(((void (pascal *)())(*_au1_mp -> _animal__vptr_PN ))))( _au1_mp ) ;
_au1_bp = (struct bird *)( (_au0__Xthis__ctor_bird = 0 ),
( ( (_au0__Xthis__ctor_bird = (struct bird *)_new (
(long )(sizeof (struct bird))) ), 0 ) ,
( ( (_au0__Xthis__ctor_bird = (struct bird *)
( ( ((((struct animal *)_au0__Xthis__ctor_bird ))->
_animal__vptr_PN = animal__vtbl_PN),
(((((struct animal *)_au0__Xthis__ctor_bird ))))) ) ),
(_au0__Xthis__ctor_bird -> _animal__vptr_PN
= bird__vtbl_PN)) , ((_au0__Xthis__ctor_bird ))) ) ) ;
(*(((void (pascal *)())(*_au1_bp -> _animal__vptr_PN ))))( _au1_bp ) ;
_au1_dp = (struct dog *)( (_au0__Xthis__ctor_dog = 0 ),
( ( (_au0__Xthis__ctor_dog = (struct dog *)_new (
(long )(sizeof (struct dog))) ), 0 ) ,
( ( (_au0__Xthis__ctor_dog = (struct dog *)
( ( ( (( ( ((((struct animal *)(((struct mammal *)
_au0__Xthis__ctor_dog ))))-> _animal__vptr_PN
= animal__vtbl_PN),
(((((struct animal *)(((struct mammal *)
_au0__Xthis__ctor_dog ))))))) ) ),
((((struct mammal *)_au0__Xthis__ctor_dog ))-> _animal__vptr_PN
= mammal__vtbl_PN)) ,
(((((struct mammal *)_au0__Xthis__ctor_dog ))))) ) ),
(_au0__Xthis__ctor_dog -> _animal__vptr_PN
= dog__vtbl_PN)) , ((_au0__Xthis__ctor_dog ))) ) ) ;
(*(((void (pascal *)())(*_au1_dp -> _animal__vptr_PN ))))( _au1_dp ) ;
_au1_ep = (struct eagle *)( (_au0__Xthis__ctor_eagle = 0 ),
( ( (_au0__Xthis__ctor_eagle = (struct eagle *)_new (
(long )(sizeof (struct eagle))) ), 0 ) ,
( ( (_au0__Xthis__ctor_eagle = (struct eagle *)
( ( ( (( ( ((((struct animal *)(((struct bird *)
_au0__Xthis__ctor_eagle ))))-> _animal__vptr_PN
= animal__vtbl_PN), (((((struct animal *)
(((struct bird *)_au0__Xthis__ctor_eagle ))))))) ) ),
((((struct bird *)_au0__Xthis__ctor_eagle ))-> _animal__vptr_PN
= bird__vtbl_PN)) ,
(((((struct bird *)_au0__Xthis__ctor_eagle ))))) ) ),
(_au0__Xthis__ctor_eagle -> _animal__vptr_PN = eagle__vtbl_PN)) ,
((_au0__Xthis__ctor_eagle ))) ) ) ;
(*(((void (pascal *)())(*_au1_ep -> _animal__vptr_PN ))))( _au1_ep ) ;
printf ( (char *)"\n") ;
}
extern void print2 ()
{
struct animal *_au1_ap = 0 ;
struct mammal *_au1_mp = 0 ;
struct mammal *_au0__K1 = 0 ;
register struct animal *_au0__Xthis__ctor_animal = 0 ;
_au1_ap = (struct animal *)( (_au0__Xthis__ctor_animal = 0 ),
( ( (_au0__Xthis__ctor_animal = (struct animal *)_new (
(long )(sizeof (struct animal))) ), 0 ) ,
( (_au0__Xthis__ctor_animal -> _animal__vptr_PN
= animal__vtbl_PN), ((_au0__Xthis__ctor_animal ))) ) ) ;
(*(((void (pascal *)())(*_au1_ap -> _animal__vptr_PN ))))( _au1_ap ) ;
( (_au0__K1 = (((struct mammal *)_au1_ap ))), (*(((void (pascal *)())
(*_au0__K1 -> _animal__vptr_PN ))))( _au0__K1 ) ) ;
_au1_mp = (((struct mammal *)_au1_ap ));
(*(((void (pascal *)())(*_au1_mp -> _animal__vptr_PN ))))( _au1_mp ) ;
printf ( (char *)"\n") ;}
extern void print3 ()
{
struct animal _au1_a ;
struct animal *_au1_ap = 0 ;
struct mammal _au1_m ;
struct eagle _au1_e ;
( ( ((& _au1_a )-> _animal__vptr_PN = animal__vtbl_PN),
(((& _au1_a )))) ) ;
_au1_ap = (& _au1_a );
( ( ( (( ( ((((struct animal *)(& _au1_m )))-> _animal__vptr_PN
= animal__vtbl_PN), (((((struct animal *)(& _au1_m )))))) ) ),
((& _au1_m )-> _animal__vptr_PN = mammal__vtbl_PN)) ,
(((& _au1_m )))) ) ;
( ( ( (( ( ( (( ( ((((struct animal *)
(((struct bird *)(& _au1_e )))))-> _animal__vptr_PN
= animal__vtbl_PN),
(((((struct animal *)(((struct bird *)(& _au1_e )))))))) ) ),
((((struct bird *)(& _au1_e )))-> _animal__vptr_PN
= bird__vtbl_PN)) , (((((struct bird *)(& _au1_e )))))) ) ),
((& _au1_e )-> _animal__vptr_PN = eagle__vtbl_PN)) ,
(((& _au1_e )))) ) ;
(*(((void (pascal *)())(*_au1_ap -> _animal__vptr_PN ))))( _au1_ap ) ;
_au1_ap = (struct animal *)(& _au1_m );
(*(((void (pascal *)())(*_au1_ap -> _animal__vptr_PN ))))( _au1_ap ) ;
printf ( (char *)"\n") ;}
static void pascal _eagle_identify (register struct eagle *this )
{
printf ( (char *)"%s\n", "eagle") ;
}
static void pascal _dog_identify (register struct dog *this )
{
printf ( (char *)"%s\n", "dog") ;
}
static void pascal _bird_identify (register struct bird *this )
{
printf ( (char *)"%s\n", "bird") ;
}
static void pascal _mammal_identify (register struct mammal *this )
{
printf ( (char *)"%s\n", "mammal") ;
}
static void pascal _animal_identify (register struct animal *this )
{
printf ( (char *)"%s\n", "animal") ;
}